import request from '@/utils/request'

/**
 * 获取客户信息
 * @param {number} customerId - 客户ID
 * @returns {Promise}
 */
export function getCustomerInfoAPI(customerId) {
  // 确保客户ID存在且为有效值
  if (!customerId) {
    console.error('客户ID无效:', customerId);
    return Promise.resolve(null);
  }
  
  // 调用后端接口获取客户信息
  return request.post(`/api/customerInfo/get?id=${customerId}`).then(res => {
    // 根据实际API返回格式，提取data字段
    if (res && res.code === 0 && res.data) {
      return res.data;
    }
    
    // 处理特定的错误码
    if (res && res.code !== 0) {
      console.error('获取客户信息失败，错误码:', res.code, '错误信息:', res.msg);
    }
    
    // 如果格式不符合预期，返回null
    return null;
  }).catch(error => {
    console.error('获取客户信息失败:', error);
    // 出错时返回null
    return null;
  });
}

/**
 * 更新客户信息
 * @param {Object} customerData - 客户信息数据
 * @returns {Promise}
 */
export function updateCustomerInfoAPI(customerData) {
  return request.post('/api/customerInfo/update', customerData).then(res => {
    // 检查响应中的code字段确保请求成功（code === 0）
    if (res && res.code === 0) {
      return { success: true, data: res.data, message: res.msg || '信息更新成功' };
    } else {
      return { success: false, data: null, message: res.msg || '信息更新失败' };
    }
  }).catch(error => {
    console.error('更新客户信息失败:', error);
    return { success: false, data: null, message: '网络错误，信息更新失败' };
  });
}